Every day, more than 120 people in America are killed with guns. The gun homicide rate in the U.S. is 26 times higher than that of other developed countries.1 In 2024, the US Surgeon General’s Advisory declared gun violence as a public health crisis.2
Charlottesville and Albemarle are not immune to this epidemic of gun violence. The rate of violent crime in our community increased by 30% from 2021 to 2022, and in the early months of 2023, police had already investigated five homicide cases compared to zero cases in 2021.3 On November 13, 2022, three UVA football players were shot and killed on campus. Devin Chandler, Lavel Davis Jr. and D’Sean Perry lost their lives to an act of gun violence. While incidents of gun violence have decreased in the first half of 2024,4 the number of bullets recovered at each scene has increased, pointing to the ever-changing nature of the issue.
The Gun Violence Solutions Project is a University-sponsored effort to work with community partners on assessing, developing, and implementing actionable solutions to reduce gun violence in mid-sized towns. The residents of Charlottesville and Albemarle are the central stakeholders. The folks who live and work here are the data. Given the wealth of lived experience and the range of perspectives within our community, these voices must be centered.
The Gun Violence Solutions Project is taking a holistic approach by researching solutions at a local level in the Charlottesville and Albemarle region, while exploring law and policy alongside the historical, cultural, and structural factors that shape gun violence.
This document is meant to support the work of the Gun Violence Solutions Project to help our community understand the nature and shape of gun violence and gun violence trauma in our region. Each section includes an overview of the data sources, key data limitations that may constrain findings, and a brief discussion of notable trends. Together we can develop a shared understanding and greater clarity about the problem of gun violence, identify knowledge and data gaps, and facilitate wider community engagement in conversations about solutions.
Ultimately, we hope this work will be part of:
Understanding the full impact of gun violence on our community and how different people experience this impact;
Working with residents, advocates, and decision-makers to identify approaches to prevention and intervention for all types of gun violence; and
Evaluating the effectiveness of current and future efforts to eliminate gun violence.
The data provided below represent information that is publicly and readily available online. This document is meant to serve as an overview of the existing resources so that we can begin representing the nature, scope, and dimensions of the problem locally.
Much of this data relies on information created when people interact with public services. As a result, we need to remember the deeply human aspect of this data, how people’s decisions shape the data and what the data values mean for peoples’ experiences. While no personally identifiable information is contained in this report, the data points represent moments in the lives of individuals in our community.
The script data_prep.R outlines the process for accessing and cleaning each data source. We encourage anyone interested to recreate these analyses or extend them by contributing their own data-driven insights.
The data below is drawn from news outlets, the Virginia Department of Health, and local and national law enforcement agencies. To keep insights consistent across these sources we need to clearly define our terminology. Each of the terms below has a specific and unique definition, and we will consistently use these terms throughout the analysis.
Please refer to the Terminology section of the Appendix for more information and a list of definitions.
The leading cause of death by gun violence in the Blue Ridge Health District is suicide, which made up 76% of all firearm-related deaths from 2018 to 2022. The Blue Ridge Health District includes Charlottesville City, Albemarle, Greene, Louisa, Fluvanna, and Nelson County. The chart below includes the number and rate of firearm-related deaths among Blue Ridge Health District residents. Adversarial community violence accounts for 22% of all deaths.
Source: https://data.virginia.gov/dataset/vdh-pud-firearm-deaths-by-district-intent
The Virginia Open Data Portal includes information about emergency department visits for firearm injuries from 2015 to 2023 along with death certificates for firearm-related causes of death from 2018 to 2022. This data is supplied by the Virginia Department of Health.
Data Limitations
Limits to the data include follow-up visits, visits involving other types of guns (e.g., staple gun), visits where firearm was used as a weapon but not fired (e.g., pistol whip). City/county localities are assigned using the patient’s residential zip code for Virginia residents. Patients with non-Virginia or unknown zip codes are grouped as ‘Out of State.’
Identifiers
Firearm injury visits are identified using key terms in the chief complaint (reason for visit) and discharge diagnosis codes. Key terms include: gun with wound, GSW, gunshot, buckshot, revolver, rifle, shotgun, firearm, pistol, handgun, been shot, I was shot, I got shot, combination of hit, ricochet, graze with bullet. ICD-10 diagnosis codes: W32.0, W32.1, W33.0, W33.1, W34.0, W34.1, X72, X73, X74, X93, X94, X95, Y22, Y23, Y24, Y35.0, Y38.4 SNOMED diagnosis codes: 41430008, 56768003, 63409001, 69861004, 77301004, 86122002, 111050005, 219257002, 283545005, 218081007, 218086002, 218082000, 218087006, 218088001, 269796009, 242869008, 219199009, 219200007, 219201006, 219204003, 219205002, 219203009, 219198001, 219142001, 219143006, 219144000, 219145004, 219146003, 287184008, 287193009.
The table below shows the rate of firearm injuries per 10,000 emergency department visits in Charlottesville and Albemarle from 2015 - 2023. This aggregation does not include any demographic information.
vdh_injuries <- read_csv("data/vdh_injuries.csv")
albemarle <- vdh_injuries %>%
filter(str_detect(patient_city_county, "Albemarle"))
albemarle %>%
arrange(year) %>%
select(-patient_city_county) %>%
reactable(
defaultColDef = colDef(
header = function(value)
str_to_title(gsub("_", " ", value, fixed = TRUE)),
align = "center",
defaultSortOrder = "desc",
headerStyle = list(background = "#f7f7f8")
),
columns = list(
total_ed_visits = colDef(format = colFormat(separators = TRUE)),
rate_of_firearm_injuries_per_10k_ed_visits = colDef(style = color_scales(
albemarle, colors = c("#FFFFFF", "#FA8C00")
))
),
bordered = TRUE,
highlight = TRUE
) %>%
add_legend(albemarle, col_name = 'rate_of_firearm_injuries_per_10k_ed_visits', title = 'Rate of Firearm Injuries per 10k ED Visits', footer = 'Reported as of 2023', colors = c("#FFFFFF", "#FA8C00"))
Notable Trends
In 2020, the rate of firearm injuries
peaked at 8.3, with 29 firearm injuries per 34,875 emergency department
visits. That means for every 10,000 visits to the emergency department
in Charlottesville and Albemarle in 2020, a little over 8 were were for
firearm-related injuries. 2020 also had the lowest number of emergency
department visits which aligns with national trends of decreased
emergency department use during the COVID-19 pandemic.5 After 2020, both the
numbers of firearm injuries and ED visits began increasing, causing the
rate of injury to trend upwards as well.
The VDH Office of Vital Records tracks causes of death among Virginia residents using death certificates. The Blue Ridge Health District includes Charlottesville City, Albemarle, Greene, Louisa, Fluvanna, and Nelson County. Codes on the death certificate indicate underlying and contributing causes of death. Deaths are classified as firearm-related using the definition from the Centers for Disease Control.6
This VDH dataset includes the number and rate of firearm-related deaths among Virginia residents by patient health district and age from 2018 through 2022. Virginia Department of Health districts are assigned based on the residence of the patient at the time of death, not where the death occurred. Data includes Virginia residents only, regardless of whether they died in Virginia.
vdh_age <- read_csv("data/vdh_age.csv")
vdh_age %>%
select(-health_district) %>%
arrange(age_group) %>%
reactable(
defaultColDef = colDef(
header = function(value) str_to_title(gsub("_", " ", value, fixed = TRUE)),
align = "center",
defaultSortOrder = "desc",
headerStyle = list(background = "#f7f7f8")),
columns = list(
rate_of_firearm_deaths_per_100k_pop = colDef(style = color_scales(vdh_age, colors = c("#FFFFFF", "#FA8C00"))
)),
bordered = TRUE,
highlight = TRUE,
defaultPageSize = 11) %>%
add_legend(vdh_age, col_name = 'rate_of_firearm_deaths_per_100k_pop', title = 'Rate of Firearm Deaths per 100k Pop', footer = 'Years: 2018 - 2022', colors = c("#FFFFFF", "#FA8C00"))
Notable Trends
The table above shows that the rate of
firearm death is highest for individuals aged 18 and 19 years old, with
8 confirmed firearm-related deaths between 2018 and 2022 in the Blue
Ridge Health District. A rate of 18.3 means that for every 100,000
people aged 18-19, 18 individuals would have lost their lives to gun
violence. This rate stays above 14 per 100k individuals up to 44 years
old. The age group with the second-highest percentage of gun-related
deaths are individuals above the age of 75, with 16 deaths per 100,000
people. Given that suicide is the number one cause of firearm-related
death in our region, it is reasonable to assume that a majority of the
deaths for individuals 75 and older were suicide.
Sourced from the Gun Violence Archive, this data includes information collected from public news sources about 201 of gun violence affecting 306 participants in the Charlottesville/Albemarle region from May 2014 - April 2024. An individual may be involved in more than one incident (see incidents vs. crimes). Incidents range from shots fired reports, to unlawful gun ownership, to acts of violence such as assault and homicide. This data does not include information about suicides.
The data is made up of two dataframes: one has information about each incident and the associated outcome variables (for example, the number of people injured and/or killed), and the other lists the participant-level information (for example, the age range and gender of the participants for both victims and suspects). The data includes the location and date of each incident along with characteristics such as numbers of injuries, homicides, or shots fired. The data does not give any identifiable information about the participants, including name, race, ethnicity, socioeconomic status, or mental health status.
Voluntary Participation
Because the data is sourced from public news websites, if an act of violence didn’t receive local news attention it was not included in the Gun Violence Archive database. That means this data underrepresents some information, especially shots fired numbers. Notably, it looks like shots fired incidents haven’t been added to the database since 2021.
Suicides
Suicides are not part of the Gun Violence Archive’s normal data collection procedures. Individual suicides are collected through the CDC’s Annual Report7 and, because of privacy and CDC policy, they are only available as an aggregate number, without detail. Suicides associated with Officer-Involved incidents and Murder-Suicides are included in Gun Violence Archive tallies because they are considered incidents of community violence.
gva_incidents <- read_csv("data/gva_incidents.csv")
gva_incidents %>%
group_by(yr = year(incident_date)) %>%
summarise(total_injured = sum(victims_injured + suspects_injured),
total_killed = sum(victims_killed + suspects_killed)) %>%
ungroup() %>%
pivot_longer(matches("total")) %>%
ggplot(aes(x = yr, y = value, fill = name)) +
geom_col() +
labs(title = "Victims of Gun Violence in the Charlottesville/Albemarle Region",
x = "Year",
y = "Number of Victims",
caption = "Total incidents: 201") +
scale_fill_manual(labels = c("Injured", "Killed"),
values = c("#F8BE3D", "#007BAB"),
guide = guide_legend(title = "Victim Status")) +
scale_x_continuous(breaks = scales::pretty_breaks(n = 11),
guide = guide_axis(angle = 35))
Notable Trends
The bar graph above shows that the
number of victims both injured and killed in incidents of gun violence
have increased nearly tenfold from 3 in 2014 to 33 in 2022. 2022 had the
highest number of victims injured, with 24 individuals reported being
shot, while 2023 was the deadliest year, with 12 individuals losing
their lives to gun violence. Although 2024 only includes data through
April, so far the numbers are trending lower than in previous years.
gva_participants <- read_csv("data/gva_participants.csv")
gva_participants %>%
drop_na(age) %>%
mutate(yr = year(incident_date),
role = str_to_title(role)) %>%
ggplot(aes(age, fill = role)) +
geom_histogram(position = 'identity') +
facet_grid(~role) +
scale_fill_manual(labels = c("Suspect", "Victim"),
values = c("#F8BE3D", "#007BAB"),
guide = guide_legend(title = "Participant Role")) +
labs(title = "Ages of Participants",
x = "Age",
y = "Number of People",
caption = "Total particpants: 306") +
scale_x_continuous(breaks = scales::pretty_breaks(n = 10),
guide = guide_axis(angle = 35))
Notable Trends
The faceted bar graph above shows the
age ranges of suspects and victims of gun violence in Charlottesville
and Albemarle from May 2014 to April 2024. In general, a majority of the
suspects are between the ages of 19 and 29 and a majority of the victims
are around the age of 20.
Crime data for Virginia are pulled from the National Incident-Based Reporting System (NIBRS) database. Managed by the FBI, this database requires all law enforcement agencies to submit their crime data annually in a uniform and structured manner. The data contains summaries of all crimes where a firearm was used in Virginia, Albemarle County, and Charlottesville City between 2016 - 2023. Each row represents a different year and each column represents the number of crimes committed with a firearm grouped by the subject’s age. For this analysis, youth are considered to be under the age of 18.
Participation
The Virginia NIBRS is managed by the Virginia State Police Data Analysis and Reporting Team. In 2021, the NIBRS underwent a massive national structural change which affected every agency. Although participation is mandatory, there is the potential for some data loss as each law enforcement agency finalizes their data submission process and data is updated. The 2023 data may not have all participating agencies, and therefore may not be complete.
nibrs_crime <- read_csv("data/nibrs_crime.csv")
nibrs_crime %>%
mutate_at(vars(matches('n_')), ~ . / est_pop_district * 1e4 ) -> tmp_plt_dat
ggplot(tmp_plt_dat, aes(year, n_total, color = district, group = district)) +
geom_line(size = 1.5) +
labs(x = "Year",
y = "Crime Rate per 100k Population",
title = "All Crimes Involving Firearms") +
scale_color_manual(values = c("#232D4B", "#F8BE3D", "#007BAB"),
name = "Region",
breaks = c("virginia", "charlottesville", "albemarle"),
labels= c("Virginia", "Charlottesville", "Albemarle")) +
geom_label(data = filter(tmp_plt_dat, year == 2023),
aes(label = paste0(round(n_total, 1))),
show.legend = F, hjust = .75, alpha = 0.75, fontface = "bold") +
scale_x_continuous(breaks = scales::pretty_breaks(n = 8),
guide = guide_axis(angle = 35))
Notable Trends
The line graph above shows the rate of
gun violence crimes per 100k population over time. In Virginia, the
crime rate has been slightly increasing from 19.2 in 2016 to 24.4 in
2023, with a peak of 25.6 in 2022. That means on average in Virginia in
2023, for every 100,000 people, there were 24 crimes involving firearms.
Charlottesville rates are much more variable with rates peaking above
state levels from 2020 to 2022, with a maximum value of 28 in 2021.
Albemarle has had relatively steady rates ranging from a minimum of 7.4
in 2021 to a maximum of 11 in 2022.
Overall during the
COVID-10 pandemic, the rate of crimes committed with firearms increased
across the board, and in Charlottesville specifically. Since 2022,
however, the rate has been slightly decreasing.
nibrs_crime %>%
mutate_at(vars(matches('n_')), ~ . / est_pop_district * 1e4 ) -> tmp_plt_dat
ggplot(tmp_plt_dat, aes(year, n_juvenile, color = district, group = district)) +
geom_line(size = 1.5) +
labs(x = "Year",
y = "Crime Rate per 100k Population",
title = "All Youth Crimes Involving Firearms") +
scale_color_manual(values = c("#232D4B", "#F8BE3D", "#007BAB"),
name = "Region",
breaks = c("virginia", "charlottesville", "albemarle"),
labels= c("Virginia", "Charlottesville", "Albemarle")) +
geom_label(data = filter(tmp_plt_dat, year == 2023),
aes(label = paste0(round(n_juvenile, 1))),
show.legend = F, hjust = .75, alpha = 0.75, fontface = "bold") +
scale_x_continuous(breaks = scales::pretty_breaks(n = 8),
guide = guide_axis(angle = 35))
Notable Trends
From 2021 to 2022 the firearm crime
rate increased for youth across the board. In Charlottesville this
change was exponential, with the rate more than doubling from 0.8 in
2021 to 2.1 – above the statewide average – in 2022. The rate has
decreased from 2022 to 2023, to 1.4, below the state average. That means
for every 100,000 people, there were 1.4 crimes committed with guns by
individuals under the age of 18.
age_labs <- c("Under 18", "Above 18")
names(age_labs) <- c("n_juvenile", "n_adult")
nibrs_crime %>%
mutate_at(vars(matches('n_')), ~ . / est_pop_district * 1e4 ) %>%
pivot_longer(cols = c(n_juvenile, n_adult)) -> tmp_plt_dat
ggplot(tmp_plt_dat, aes(year, value, color = district, group = district)) +
geom_line(size = 1.5) +
facet_wrap(~name,
labeller = labeller(name = age_labs),
scales = "free_y") +
labs(x = "Year",
y = "Crime Rate per 100k Population",
title = "Adult Compared to Youth Crime Rates") +
scale_color_manual(values = c("#232D4B", "#F8BE3D", "#007BAB"),
name = "Region",
breaks = c("virginia", "charlottesville", "albemarle"),
labels= c("Virginia", "Charlottesville", "Albemarle")) +
geom_label(data = filter(tmp_plt_dat, year == 2023),
aes(label = paste0(round(value, 1))),
show.legend = F, hjust = .75, alpha = 0.75, fontface = "bold") +
scale_x_continuous(breaks = scales::pretty_breaks(n = 8),
guide = guide_axis(angle = 35))
Notable Trends
In general, following the COVID-19
pandemic, crimes involving firearms increased for all age groups in
2021, however most notably among youth under 18. The Charlottesville
youth firearm crime rate surpassed state levels in 2022.
This dataset includes an anonymized collection of 890 gun-related incidents recorded by the Charlottesville Police Department (CPD), the Albemarle County Police Department (ACPD), and the UVA Police Department (UPD) between January 1, 2019 - May 18, 2024. The data was collected from their SQL database by the ACPD Sr. Crime Analyst, de-identified, and then shared with the Equity Center in June 2024. To preserve anonymity while also providing geographic information, approximate block numbers are used instead of specific addresses. This data is used below to compare incidents of gun violence to underlying population characteristics.
Each row represents the initial information that is provided by individuals calling for police assistance. Some incidents are listed as “Unverified” which means that although a call was made to the police, there was not sufficient evidence to confirm an incident of gun violence actually occurred (see Data Limitations section below.)
As a result, this is not a definitive collection of public safety data for Charlottesville and Albemarle. These reports likely miss some acts of gun violence as not all incidents are reported to the police. Both personal and structural histories impact individuals’ likelihood of calling the police. In addition, while verified reports indicate evidence of shots fired, they do not mean that an arrest was made.
Verification
Each incident is listed as being verified, unverified, or as a case. An incident is considered verified if it can be proved by an officer to have happened or there is reasonable evidence of it’s occurrence. For example, a shots fired incident would be verified if there were shell casings found at the scene.
An incident would be considered unverified if there was no proof after the fact that it happened. For example, someone may call the police to report hearing loud noises, however when the officers arrived they find either no evidence of a shooting, or evidence to prove otherwise, such as used fireworks supplies.
An incident would be marked as a case if it required significant follow up, or was otherwise recorded as a crime to be investigated. Typically more violent incidents such as aggravated assault or homicide become cases.
Data Sharing
Because this data may include information that is actively being used in court, it is the only data source in this report that is not fully open-sourced, or publicly available. This decision was made so that the individuals being represented can maintain their anonymity throughout the duration of their trial and subsequent followup. A comparable, but limited report can be pulled from the Charlottesville Open Data Portal, and instructions on how to do so are outlined in scripts.R.
regional_gv <- read_csv("data/regional_gv.csv") %>%
mutate(locality = word(locality, 1),
yr = year(reported_date))
shots_fired <- regional_gv %>%
filter(description == "Shots Fired",
verified == "VERIFIED") %>%
group_by(yr, locality) %>%
count() %>%
rename(shots_fired = n)
other <- regional_gv %>%
filter(description != "Shots Fired",
verified != "UNVERIFIED") %>%
group_by(yr, locality) %>%
count() %>%
rename(other = n)
years <- shots_fired %>%
left_join(other, relationship = "many-to-many") %>%
pivot_longer(cols = c("shots_fired", "other"),
names_to = c("type"),
values_to = "count")
ggplot(years, aes(yr, count, fill = type)) +
geom_col() +
facet_wrap(~locality) +
scale_fill_manual("Incident Type",
labels = c("Aggravated Assault & Homicide", "Shots Fired"),
values = c("#F8BE3D", "#007BAB")) +
labs(title = "Incidents of Gun Violence in Charlottesville & Albemarle",
x = "Year",
y = "Number of Verified Incidents",
caption = "Note: the 2024 data only includes incidents up to May 18.") +
scale_x_continuous(breaks = scales::pretty_breaks(n = 7),
guide = guide_axis(angle = 35))
Notable Trends
The faceted stacked bar plot above
shows the types of firearm-related incidents in Charlottesville and
Albemarle between 2019 and early 2024. While the number of shots-fired
reports is higher in Albemarle County, the number of violent incidents
such as aggravated assault and homicide is higher in Charlottesville.
When interpreting these results, we should consider geographic
differences that may influence resident behavior. For example, shots
fired in a rural area of Albemarle County may be a result of wildlife
hunting season, while shots fired in an urban area of Charlottesville is
typically not associated with legal wildlife hunting.
Another way of exploring local gun violence data is through the publicly available Charlottesville Open Data Portal. This database includes 526 gun-related crime reports, and 390 gun-related arrests in City of Charlottesville from March 2019 through April 2024.
This data is different from the data provided directly from the police in the following ways:
This data can be considered the first step in how gun-related crimes are recorded while the police-provided data can be considered the second step in the process.
The dataset is made up of two dataframes: one includes information about initial crime reports and the other includes arrest data. Both datasets have been anonymized to remove names and other identifiable information such as house numbers.
Jurisdiction Limits
These datasets only contain information reported by City of Charlottesville Police. It does not contain information about incidents that solely involve other police departments operating within the city (for example, University of Virginia police or Albemarle County police).
Filtering
The data has been filtered to only include crime reports that involve firearms, which required some subjective finagling. To do this, only offences labeled Shots Fired/Illegal Hunting, Robbery - Armed, and Weapons Violations are used. As a result, this data may significantly underrepresent the number of firearm incidents. For example, crime reports that have Assault as the primary offense are not included because we cannot be certain the assault included firearm.
odp_crimes <- read_csv("data/odp_crimes.csv")
odp_arrests <- read_csv("data/odp_arrests.csv")
cville_map <- get_map(c(left = -78.53, bottom = 38.00, right = -78.45, top = 38.07),
maptype = "roadmap", color = "bw")
# Geographic spread
ggmap(cville_map) +
stat_density2d(data = odp_crimes, aes(fill = ..level.., alpha = 0.1), # removes 55 values
geom = "polygon") +
theme(legend.position="none") +
scale_fill_viridis_c(direction = -1) +
theme_void() +
theme(legend.position = "none") +
labs(title = "Gun-Related Crime Reports",
caption = "Total reports: 526")
ggmap(cville_map) +
stat_density2d(data = odp_arrests, aes(fill = ..level.., alpha = 0.1), # removes 96 values
geom = "polygon") +
theme(legend.position="none") +
scale_fill_viridis_c(direction = -1) +
theme_void() +
theme(legend.position = "none") +
labs(title = "Gun-Related Arrests",
caption = "Total arrests: 390")
Notable Trends
The two maps above show the density of
gun-related crime reports and arrests in the Charlottesville region. The
map on the left demonstrates that most gun-related crime reports between
March 2019 and April 2024 were concentrated in the West Main Street
area, specifically near the 10th St intersection. There are also smaller
concentrations of reports in Fifeville and on the east end of the
Downtown Mall, near the Pavilion.
The map on the right
demonstrates that most gun-related arrests are concentrated on the east
end of the Downtown Mall, the Roosevelt-Brown Boulevard region, and the
south side of Charlottesville. The location with the most arrests is the
Charlottesville Police Station, located on the East End of the Downtown
Mall. When we asked the police department for clarification, they
explained that most arrest warrants are written and filed at the police
station, and that when individuals receive warrants, they turn
themselves in at the police station. Most incidents of gun violence do
not have an arrest at the scene of the crime, but have an arrest days
later from a warrant issued, which is issued at the police station.
From the Charlottesville Open Data Portal:
“Arrest data contains information on people taken into custody by City of Charlottesville police officers. More serious crimes such as felony offenses are more likely to result in an arrest. However, arrests can occur as a result of other offenses, such as parole violations or a failure to appear for trial.”
Given that definition, we can ask the question: are a lot of people committing a few crimes or are a few people committing a lot of crimes? The below data contains the distribution of 390 arrests for firearm-related charges between May 2019 and April 2024. The data has been anonymized so that identifiable information has been removed.
# Arrest numbers per person
odp_arrests %>%
group_by(id) %>%
summarise(charges = n()) %>%
ungroup() %>%
ggplot(aes(y = charges)) +
geom_bar(fill = "#007BAB") +
geom_text(aes(label =..count..), stat = "count", hjust = -0.25, size = 3) +
labs(title = "Number of Firearm-Related Arrests per Person",
x = "Number of People",
y = "Number of Charges per Person",
caption = "Total number of people arrested: 233") +
scale_y_continuous(breaks = c(1:15)) +
geom_label(aes(90, 10, label = "86% of people arrested \nfor gun-related crimes \nhave 2 or fewer charges"))
Notable Trends
Of the 233 individuals arrested, 147
have only one gun-related charge, 53 have two charges, and one person
has 15 charges. In other words, 86% of people arrested for gun-related
crimes have 2 or fewer charges. That means a small group of people (<
50) are committing a significant proportion of gun-related crimes in
Charlottesville and Albemarle.
With nearly a third of Americans owning a gun8, access to firearms is easy for many people. Someone can legally purchase a gun from their local big-box store, their neighborhood gun dealer, or a specialty weapons trade show. The minimum age in Virginia to purchase a handgun is 21, however individuals as young as 18 can legally purchase rifles and shotguns9. Residents can open carry their weapons, except in areas where firearms are prohibited by statute (such as UVA Grounds10), and there are no state-mandated age limits on purchasing ammunition.
People can also obtain guns illegally: from manufacturing their own, to under-the-table sales, to trade and barters, and even theft.
This section explores two means of accessing guns in Charlottesville and Albemarle: from the many licensed dealers and from thefts, specifically thefts from vehicles.
alb_sf <- get_acs(
geography = "county",
state = "51",
variables = "B01001_001",
survey = "acs5",
geometry = TRUE,
year = 2022) %>%
filter(NAME == "Albemarle County, Virginia")
The Bureau of Alcohol, Tobacco, Firearms, and Explosives (ATF) maintains a record of all federally licensed firearms dealers. Some of these dealers are widely frequented businesses, such as the Walmart on Route 29, while others are individuals that operate out of residential neighborhoods. The list and map below show the 22 authorized dealers in Charlottesville and Albemarle county as of April 2024.
atf_dealers <- read_csv("data/atf_dealers.csv")
alb_map <- get_map(c(left = -79, bottom = 37, right = -78, top = 39),
maptype = "roadmap", color = "bw")
ggmap(alb_map) +
geom_sf(data = alb_sf, inherit.aes = FALSE, alpha = 0, linewidth = 0.5) +
theme_void() +
geom_point(atf_dealers,
mapping = aes(x = lon, y = lat, col = business_type, shape = business_type),
size = 3) +
scale_color_manual(name = "Business Type", values = c("#F8BE3D", "#007BAB")) +
scale_shape_manual(name = "Business Type", values = c(17, 19)) +
theme_void() +
labs(title = "Locations of Firearms Dealers in Charlottesville & Albemarle",
caption = "Total licensed dealers: 22")
Notable Trends
The map above shows that a majority of
licensed firearms dealers operate out of businesses in Charlottesville,
while there are a handful of residential entities that are licensed to
deal firearms in Albemarle county.
The type of license issued indicates if the seller is a dealer or manufacturer of firearms and/or other destructive devices like explosives. The sellers in Charlottesville and Albemarle have the following license types:
Type 01 - Dealer in Firearms Other Than Destructive Devices
Type 02 - Pawnbroker in Firearms Other Than Destructive Devices
Type 07 - Manufacturer of Firearms Other Than Destructive Devices
Type 09 - Dealer in Destructive Devices
Type 10 - Manufacturer of Destructive Devices, Ammunition for Destructive Devices or Armor Piercing Ammunition
atf_dealers %>%
select(license_name, business_name, premise_street, license_type) %>%
reactable(
defaultColDef = colDef(
header = function(value)
str_to_title(gsub("_", " ", value, fixed = TRUE)),
align = "left",
headerStyle = list(background = "#f7f7f8")
),
columns = list(
license_type = colDef(minWidth = 50)
),
bordered = TRUE,
highlight = TRUE
) %>%
reactablefmtr::add_source("List of all Federal Firearm License types: https://www.atf.gov/resource-center/fact-sheet/fact-sheet-federal-firearms-and-explosives-licenses-types", align = "right", font_size = 10, font_color = "grey")
List of all Federal Firearm License types: https://www.atf.gov/resource-center/fact-sheet/fact-sheet-federal-firearms-and-explosives-licenses-types
Thefts from cars are the largest source of stolen guns and have increased triplefold compared to the last decade.11
In 2023 in Virginia, $1,577,221 dollars worth of guns were reported stolen from vehicles. Specifically, in Albemarle the amount reported was $20,857, and in Charlottesville, $11,940.
The plot below shows the number of guns stolen from vehicles in Charlottesville City and Albemarle County from 2016 to 2023.
nibrs_theft <- read_csv("data/nibrs_theft.csv") %>%
filter(district != "Virginia")
ggplot(nibrs_theft, aes(year, n_stolen, colour = district)) +
geom_line(linewidth = 1.5) +
labs(x = "Year",
y = "Number of Firearms Stolen",
title = "Theft of Firearms from Vehicles") +
scale_color_manual(values = c("#007BAB", "#F8BE3D"),
name = "Region") +
geom_label(data = nibrs_theft,
aes(label = n_stolen),
show.legend = F,
alpha = 0.75,
fontface = "bold") +
scale_x_continuous(breaks = scales::pretty_breaks(n = 7),
guide = guide_axis(angle = 35))
Notable Trends
In general, the rate of firearms being
stolen from vehicles has increased, with 48 guns being stolen from
vehicles in 2023 in Charlottesville and Albemarle.
The data shown above is focused on describing key outcomes. To better understand the underlying causes of gun trauma in our community, and thus to devise solutions, we should look into residential characteristics that may influence antisocial or violent behavior.
The maps below show clusters of gun violence incidents reported by our local police jurisdictions between 2018 and 2024 overlaid on top community population characteristics. These characteristics are sourced from the 5-year 2022 American Community Survey. The maps are meant to show the general distribution of residential characteristics in our region, such as youth populations, childhood poverty rates, median earnings, and unemployment rates.
Next to each map is a tab with a scatterplot comparing the residential characteristic to rates of gun violence for each census tract. The residential characteristic being examined is represented on the x-axis, and the proportion of total gun violence incidents from 2018 - 2024 is shown on the y-axis. Each circle represents a different census tract, and the size of the circle is proportionate to the population of the tract.
With over 16,700 undergraduate students coming to the region each semester to study at UVA,12 the youth population of Charlottesville and Albemarle is large and transient.
The map below shows the percentages of the population that are under 18 and 25 years old, respectively, for each census tracts. It is important to note that the JPA - Fontaine, Carr’s Hill - McCormick, and Darden tracts house a large number of students, with nearly all first years living in dorms in the McCormick region. As a result, some of the data for these regions are skewed. To account for the student population, we chose the ages of 18 and 24 as cutoff points so that we can better understand both populations of our region.
ACS 5 Year Summaries
The American Community Survey (ACS) 5-Year Estimates are summaries for geographic areas that are based on data collected over a five-year period. The ACS data represented here is from 2018-2022. The 5-year estimates are considered more accurate than the 1-year estimates because they use a larger sample size, which results in smaller margins of error.
JPA/Fontaine
The ACS indicates that there are only 14 individuals under the age of 18, all of which are female, living in the JPA - Fontaine census tract. We attribute these low numbers to a data recording error, and subsequently have removed JPA - Fontaine from the below calculations to avoid skewing the results inaccurately.
# Get census and police-provided gun violence data
dat <- readRDS("data/census.RDS")
gv <- read_csv("data/regional_gv.csv")
# Convert lat/lon coords to sf points
gv_pts <- gv %>%
st_as_sf(coords = c("lon", "lat"), crs = 4326)
# Count incidents per tract
gv_sf_summary <- dat %>%
mutate(counts = lengths(st_intersects(., gv_pts))) %>%
group_by(tract) %>%
mutate(incidents_pop = (counts / pop_est),
percent_incidents = (counts / 887) * 100,
locality = str_to_title(locality))
pal_age <- colorNumeric(palette = "viridis",
domain = 0:100,
reverse = TRUE)
gv_sf_summary %>%
filter(tract_name != "JPA - Fontaine") %>%
leaflet() %>%
addProviderTiles(providers$CartoDB.Positron) %>%
addPolygons(group = "Under 18",
stroke = TRUE,
weight = 0.5,
opacity = 1,
color = "black",
fillColor = ~ pal_age(percent_under18),
fillOpacity = 0.5,
popup = paste0("Percent of Population Under 18: ",
round(gv_sf_summary$percent_under18, digits = 2), "%", "<br>",
"Number of People Under 18: ", gv_sf_summary$total_under18, "<br>",
"Total Population: ", gv_sf_summary$pop_est, "<br>",
"Tract: ", gv_sf_summary$tract_name, ", ", gv_sf_summary$locality),
highlightOptions = highlightOptions(
fillOpacity = 1,
bringToFront = FALSE
)) %>%
addPolygons(group = "Under 25",
stroke = TRUE,
weight = 0.5,
opacity = 1,
color = "black",
fillColor = ~ pal_age(percent_under25),
fillOpacity = 0.5,
popup = paste0("Percent of Population Under 25: ",
round(gv_sf_summary$percent_under25, digits = 2), "%", "<br>",
"Number of People Under 25: ", gv_sf_summary$total_under25, "<br>",
"Total Population: ", gv_sf_summary$pop_est, "<br>",
"Tract: ", gv_sf_summary$tract_name, ", ", gv_sf_summary$locality),
highlightOptions = highlightOptions(
fillOpacity = 1,
bringToFront = FALSE
)) %>%
addLegend("bottomright",
pal = pal_age,
values = ~ percent_under25,
title = paste("Percentage of the Population"),
labFormat = labelFormat(suffix = "%"),
opacity = 1) %>%
addLayersControl(baseGroups = c("Under 18","Under 25"),
options = layersControlOptions(collapsed = FALSE)) %>%
addMarkers(data = gv,
lng = gv$lon,
lat = gv$lat,
popup = paste0("Description: ", gv$description, "<br>",
"Date: ", gv$reported_date, "<br>",
"Status: ", gv$verified),
clusterOptions = markerClusterOptions(
showCoverageOnHover = FALSE,
iconCreateFunction=JS("function (cluster) {
var childCount = cluster.getChildCount();
if (childCount < 100) {
c = 'rgba(211,211,211);'
} else if (childCount < 1000) {
c = 'rgba(211,211,211);'
} else {
c = 'rgb(211,211,211);'
}
return new L.DivIcon({ html: '<div style=\"background-color:'+c+'\"><span>' + childCount + '</span></div>', className: 'marker-cluster', iconSize: new L.Point(40, 40) });
}")
))
scatter_text <- gv_sf_summary %>%
filter(percent_incidents > 4)
gv_sf_summary %>%
filter(tract_name != "JPA - Fontaine") %>%
ggplot(aes(x = percent_under18, y = percent_incidents, size = pop_est, color = locality)) +
geom_point(alpha = 0.8) +
scale_size(range = c(.1, 12)) +
geom_label(data = scatter_text,
aes(x = percent_under18, y = percent_incidents, label = tract_name),
size = 3, hjust = 1,
inherit.aes = FALSE) +
scale_color_manual(values = c("#007BAB", "#F8BE3D"),
name = "Region") +
scale_y_continuous(labels = function(x) paste0(x, "%")) +
scale_x_continuous(labels = function(x) paste0(round(x), "%")) +
labs(x = "Percentage of the Population Under 18 Years Old",
y = "Percentage of Total Gun Violence Incidents",
title = "Under 18 Population Percentages Compared to Incidents of Gun Violence",
subtitle = "Each circle represents a different census tract",
caption = "Years: 2018 - 2024",
size = "Estimated Population") +
guides(size = "none")
Notable Trends
According to the scatterplot above,
there is not a strong relationship between the percentage of youth
living in a region and the occurrence of gun violence. The regions with
the highest proportion of gun violence are Fifeville - Cherry Avenue,
10th & Page - Venable, Ridge Street, Downtown, and Belmont. These
tracts are all near the median value of youth proportions, which is
approximately 20%.
The Census Bureau uses a set of money income thresholds that vary by family size and composition to determine who is in poverty. If a family’s total income is less than the threshold for that family’s composition, then every individual in that family is considered to be living below poverty.
ACS 5 Year Summaries
The American Community Survey (ACS) 5-Year Estimates are summaries for geographic areas that are based on data collected over a five-year period. The ACS data represented here are from 2018-2022. The 5-year estimates are considered more accurate than the 1-year estimates because they use a larger sample size, which results in smaller margins of error.
Because the data represents summaries from 2018-2022, the plots below do not show changes in poverty rates by individual year but are rather an average of the past 5 years. This information can still be used to estimate approximate poverty rates for 2023 and 2024, which haven’t been released in the ACS 5-Year Estimates yet.
Student Housing
A significant portion of the JPA-Fontaine Census tract is made up of UVA students. Many of these students are not earning an income and therefore skew overall poverty levels for that area.
pal_pov <- colorNumeric(palette = "viridis",
domain = NULL,
reverse = TRUE)
gv_sf_summary %>%
leaflet() %>%
addProviderTiles(providers$CartoDB.Positron) %>%
addPolygons(group = "Overall Poverty",
stroke = TRUE,
weight = 0.5,
opacity = 1,
color = "black",
fillColor = ~ pal_pov(poverty_est),
fillOpacity = 0.5,
popup = paste0("Poverty Rate: ", gv_sf_summary$poverty_est, "%", "<br>",
"Childhood Poverty Rate: ", gv_sf_summary$cpov_est, "%", "<br>",
"Population: ", gv_sf_summary$pop_est, "<br>",
"Tract: ", gv_sf_summary$tract_name, ", ", gv_sf_summary$locality),
highlightOptions = highlightOptions(
fillOpacity = 1,
bringToFront = FALSE
)) %>%
addPolygons(group = "Child Poverty",
stroke = TRUE,
weight = 0.5,
opacity = 1,
color = "black",
fillColor = ~ pal_pov(cpov_est),
fillOpacity = 0.5,
popup = paste0("Poverty Rate: ", gv_sf_summary$poverty_est, "%", "<br>",
"Child Poverty Rate: ", gv_sf_summary$cpov_est, "%", "<br>",
"Population: ", gv_sf_summary$pop_est, "<br>",
"Tract: ", gv_sf_summary$tract_name, ", ", gv_sf_summary$locality),
highlightOptions = highlightOptions(
fillOpacity = 1,
bringToFront = FALSE
)) %>%
addLegend("bottomright",
pal = pal_pov,
values = ~ poverty_est,
title = "Estimated Poverty Rates",
labFormat = labelFormat(suffix = "%"),
opacity = 1) %>%
addLayersControl(baseGroups = c("Overall Poverty", "Child Poverty"),
options = layersControlOptions(collapsed = FALSE)) %>%
addMarkers(data = gv,
lng = gv$lon,
lat = gv$lat,
popup = paste0("Description: ", gv$description, "<br>",
"Date: ", gv$reported_date, "<br>",
"Status: ", gv$verified),
clusterOptions = markerClusterOptions(
showCoverageOnHover = FALSE,
iconCreateFunction=JS("function (cluster) {
var childCount = cluster.getChildCount();
if (childCount < 100) {
c = 'rgba(211,211,211);'
} else if (childCount < 1000) {
c = 'rgba(211,211,211);'
} else {
c = 'rgb(211,211,211);'
}
return new L.DivIcon({ html: '<div style=\"background-color:'+c+'\"><span>' + childCount + '</span></div>', className: 'marker-cluster', iconSize: new L.Point(40, 40) });
}")
))
scatter_text2 <- gv_sf_summary %>%
filter(cpov_est > 31)
gv_sf_summary %>%
filter(tract_name != "JPA - Fontaine") %>%
ggplot(aes(x = cpov_est, y = percent_incidents, size = pop_est, color = locality)) +
geom_point(alpha = 0.8) +
scale_size(range = c(.1, 12)) +
geom_label_repel(data = scatter_text2,
aes(x = cpov_est, y = percent_incidents, label = tract_name), size = 3,
min.segment.length = unit(0, 'lines'),
inherit.aes = FALSE) +
scale_color_manual(values = c("#007BAB", "#F8BE3D"),
name = "Region") +
scale_y_continuous(labels = function(x) paste0(x, "%")) +
scale_x_continuous(labels = function(x) paste0(round(x), "%")) +
labs(x = "Percentage of Children Under 18 Living in Poverty",
y = "Percentage of Total Gun Violence Incidents",
title = "Childhood Poverty Rates Compared to Incidents of Gun Violence",
subtitle = "Each circle represents a different census tract",
caption = "Years: 2018 - 2024",
size = "Estimated Population") +
guides(size = "none")
Notable Trends
According to the scatterplot above,
there is a positive relationship between the percentage of youth living
in poverty and the occurrence of gun violence. The census tracts with
the highest percentages of youth living in poverty are 10th & Page -
Venable, Fifeville - Cherry Avenue, Oak Hill - Southwood, and Ridge
Street. Of those four tracts, Oak Hill - Southwood is the only region
where the proportion of gun violence is below 7.5%.
This work has focused on understanding the larger picture of gun violence in our community – the nature, scope, frequency, and targets – by pulling data from multiple sources, each of which tells only a partial story. As this work continues, we will work with community partners to identify additional data that can will help us better understand the underlying causes and larger impacts and to strategize on and evaluate solutions. This might include information on community factors such as regional history, adverse childhood experiences, access to resources, and other social structures that are in play.
The CDC defines a firearm injury as:
“A gunshot wound or penetrating injury from a weapon that uses a powder charge to fire a projectile. Weapons that use a powder charge include handguns, rifles, and shotguns. Injuries from air- and gas-powered guns, BB guns, and pellet guns are not considered firearm injuries as these types of guns do not use a powder charge to fire a projectile.”
Types of firearm injuries include:
Gun violence is an offense committed with firearms, such as handguns, shotguns, or semi-automatic rifles. It can include homicide, violent crime, attempted suicide, suicide, and unintentional death and injury. The national Gun Violence Archive describes gun violence as:
“all incidents of death or injury or threat with firearms… a shooting of a victim by a subject/suspect is considered gun violence as is a defensive use or an officer involved shooting. The act itself, no matter the reason is violent in nature.”
The American Sociological Association describes gun violence trauma as the psychological and emotional impact that gun violence can have on individuals and communities. It can result from direct or indirect exposure to gun violence and has long-term negative effects on wellbeing. This information is difficult to objectively measure, so while this analysis focuses on numbers of direct exposure to gun violence for individuals it is important to remember the lasting indirect trauma gun violence has on our community.
An incident of gun violence can be defined as a time-boxed event where individual acts of violence took place. An incident may include multiple offenses and individuals involved. For example, if an individual went on a shooting spree and injured three people, that would be considered as one incident with three offenses.
The FBI defines gun-related crimes as the number of illegal offenses using a firearm committed during an incident of gun violence. Gun violence is not synonymous with gun crimes. Not all crimes are violent in nature. For example, a person may be charged with the crime of illegally possessing a firearm, despite not brandishing or using the weapon.
An arrest can be defined as the physical taking or seizing of a person by a police officer. It is an act that indicates the intention to take that person into custody. An arrest can happen after an incident of gun violence, or it can happen for nonviolent issues such as parole violations or a failure to appear for trial. Anyone arrested is considered innocent until proven guilty in a court of law.
A participant is defined as an individual involved in an act of gun violence. Participants can be victims, those injured or killed by firearms, or offenders, those using firearms. In cases of suicide, participants are considered victims. It is important to note that while the definition is limited to individuals that are physically affected by gun violence, the spectrum of victimization often extends much further to the community.
For this analysis, youth are considered to be juveniles under the age of 18. Some visualizations include individuals up to 24 years old as noted in the description.
Everytown - Beyond Measure: Gun Violence Trauma - https://everytownresearch.org/report/gun-violence-trauma/. Published May 17, 2023.↩︎
US Surgeon General’s Office - The U.S. Surgeon General’s Advisory on Firearm Violence: A Public Health Crisis in America - https://www.hhs.gov/sites/default/files/firearm-violence-advisory.pdf. Published July 2, 2024.↩︎
UVA President’s Council - Community Safety Working Group Report - https://prescouncil.president.virginia.edu/sites/g/files/jsddwu616/files/2024-01/Final%20Community%20Safety%20Working%20Group%20Report_24.pdf. Published September 22, 2023.↩︎
Cville Weekly - CPD Chief says crime rates lower overall despite recent spike in gun violence - https://www.c-ville.com/cpd-chief-says-crime-rates-lower-overall-despite-recent-spike-in-gun-violence - Published July 3, 2024.↩︎
Melnick, Glenn et al. “COVID-19 driven decline in emergency visits: Has it continued, is it permanent, and what does it mean for emergency physicians?.” The American journal of emergency medicine vol. 61 (2022): 64-67. doi:10.1016/j.ajem.2022.08.031↩︎
Centers for Disease Control - About Firearm Injury and Death: Fast Facts - https://www.cdc.gov/firearm-violence/about/?CDC_AAref_Val=https://www.cdc.gov/violenceprevention/firearms/fastfact.html. Accessed March 15, 2024.↩︎
Centers For Disease Control - Provisional Suicide Deaths in the United States, 2022 - https://www.cdc.gov/media/releases/2023/s0810-US-Suicide-Deaths-2022.html. Published August 10, 2023.↩︎
PEW Research - Key facts about Americans and guns - https://www.pewresearch.org/short-reads/2023/09/13/key-facts-about-americans-and-guns/ - Published September 13, 2023.↩︎
Virginia State Police - Firearms/Concealed Weapons FAQ - https://vsp.virginia.gov/services/firearms/faq - Accessed April 30, 2024.↩︎
UVA Policy - SEC-030: Regulation of Weapons, Fireworks, Explosives, and Other Prohibited Items - https://uvapolicy.virginia.edu/policy/sec-030 - Published 2022.↩︎
Jay Szkola, Megan J. O’Toole, and Sarah Burd-Sharps - Gun Thefts from Cars: The Largest Source of Stolen Guns - https://everytownresearch.org/report/gun-thefts-from-cars-the-largest-source-of-stolen-guns-2/ - Published May 9, 2024.↩︎
UVA Statistics, Fall 2022 Enrollment - https://admission.virginia.edu/admission/statistics) - Accessed May 19, 2024.↩︎